//package net.jsoft.pms.web.oracle.versionplan;
//
//import java.io.IOException;
//import java.io.OutputStream;
//import java.io.UnsupportedEncodingException;
//import java.net.URLEncoder;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
//import javax.annotation.Resource;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import javax.servlet.http.HttpSession;
//
//import org.apache.poi.ss.usermodel.CellType;
//import org.apache.poi.xssf.usermodel.XSSFCellStyle;
//import org.apache.poi.xssf.usermodel.XSSFRow;
//import org.apache.poi.xssf.usermodel.XSSFSheet;
//import org.apache.poi.xssf.usermodel.XSSFWorkbook;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.ResponseBody;
//
//import net.jsoft.platform.core.web.BaseController;
//import net.jsoft.pms.service.oracle.versionplan.IVersionPlanService;
//import net.jsoft.pms.vo.plan.PlanTaskInfo;
//
///**
// * 版本计划
// *
// * @author John
// * @Date 2017-08-03 15:51:51
// */
//@Controller
//@RequestMapping("/versionPlan")
//public class VersionPlanController extends BaseController
//{
//
//    @Resource(name = "versionPlanServiceImpl")
//    private IVersionPlanService service;
//
//    private String PREFIX = "/pms/oracle/versionPlan/";
//
//    @RequestMapping("/topdesk")
//    @ResponseBody
//    public Map<String, Object> topdesk()
//    {
//        Map<String, Object> resp = new HashMap<String, Object>();
//
//        long nowVersion = service.getNowVersion();
//        List<String> versions = service.getVersions();
//        List<PlanTaskInfo> plans = service.getVersionPlan(nowVersion + "");
//        resp.put("versions", versions);
//        resp.put("nowVersion", nowVersion);
//        resp.put("plans", plans);
//        return resp;
//    }
//
//    /**
//     * 跳转到问题管理平台首页
//     */
//    @RequestMapping("/getList")
//    public String getList()
//    {
//        return PREFIX + "getList";
//    }
//
//    /**
//     * 跳转到问题管理平台首页
//     */
//    @RequestMapping("/getRiskList")
//    public String getRiskList()
//    {
//        return PREFIX + "getRiskList";
//    }
//
//    /**
//     * 跳转到问题管理平台首页
//     */
//    @RequestMapping("/getListData")
//    @ResponseBody
//    public Map<String, Object> getListData(String version)
//    {
//        Map<String, Object> resp = new HashMap<String, Object>();
//        List<PlanTaskInfo> planVersion = service.getVersionPlan(version);
//        List<PlanTaskInfo> publishVersion = service.getPublishVersion(version);
//        resp.put("planVersion", planVersion);
//        resp.put("publishVersion", publishVersion);
//        return resp;
//    }
//
//    /**
//     * 跳转到问题管理平台首页
//     */
//    @RequestMapping("/getRiskListData")
//    @ResponseBody
//    public List<PlanTaskInfo> getRiskListData(String type)
//    {
//        List<PlanTaskInfo> list = null;
//        if ("noVersionPlan".equals(type))
//        {
//            list = service.getNoVersionPlan();
//        }
//        else if ("delayVersionPlan".equals(type))
//        {
//            list = service.getDelayVersionPlan();
//        }
//        return list;
//    }
//
//    @SuppressWarnings(
//    { "resource" })
//    @RequestMapping("/exportRiskListData")
//    public void exportRiskListData(HttpServletRequest request, HttpServletResponse response, String type)
//    {
//        HttpSession session = request.getSession();
//        session.setAttribute("state", null);
//        // 生成提示信息，
//        response.setContentType("application/vnd.ms-excel");
//        String codedFileName = null;
//        OutputStream fOut = null;
//
//        try
//        {
//
//            List<PlanTaskInfo> list = getRiskListData(type);
//            long nowVersion = service.getNowVersion();
//            String title = null;
//            if ("noVersionPlan".equals(type))
//            {
//                title = "无版本计划风险";
//            }
//            else if ("delayVersionPlan".equals(type))
//            {
//                title = "延期版本计划风险";
//            }
//            else
//            {
//                title = "";
//            }
//
//            // 进行转码，使其支持中文文件名
//            codedFileName = URLEncoder.encode(title, "UTF-8");
//            response.setHeader("content-disposition", "attachment;filename=" + codedFileName + ".xlsx");
//            // 产生工作簿对象
//            XSSFWorkbook workbook = new XSSFWorkbook();
//
//            XSSFCellStyle cellStyle = workbook.createCellStyle();
//            cellStyle.setWrapText(true);
//
//            //计划概要
//            XSSFSheet sheet0 = workbook.createSheet(title);
//            XSSFRow row = sheet0.createRow(0);// 创建一行
//            row.setRowStyle(cellStyle);
//
//            row.createCell(0, CellType.STRING).setCellValue("组别");
//            row.createCell(1, CellType.STRING).setCellValue("任务名称");
//            row.createCell(2, CellType.STRING).setCellValue("资源");
//            row.createCell(3, CellType.STRING).setCellValue("备注");
//            if ("delayVersionPlan".equals(type))
//            {
//                row.createCell(4, CellType.STRING).setCellValue("计划版本号");
//                row.createCell(5, CellType.STRING).setCellValue("当前版本号");
//            }
//            int i = 1;
//            for (PlanTaskInfo p : list)
//            {
//                row = sheet0.createRow(i);// 创建一行
//                row.setRowStyle(cellStyle);
//                row.createCell(0, CellType.STRING).setCellValue(p.getGroupName());
//                row.createCell(1, CellType.STRING).setCellValue(p.getName());
//                row.createCell(2, CellType.STRING).setCellValue(p.getResourceName());
//                row.createCell(3, CellType.STRING).setCellValue(p.getNotes());
//                if ("delayVersionPlan".equals(type))
//                {
//                    row.createCell(4, CellType.STRING).setCellValue(p.getEarlyVersion());
//                    row.createCell(5, CellType.STRING).setCellValue(nowVersion + "");
//                }
//                i++;
//            }
//
//            fOut = response.getOutputStream();
//            workbook.write(fOut);
//        }
//        catch (UnsupportedEncodingException e1)
//        {
//        }
//        catch (Exception e)
//        {
//        }
//        finally
//        {
//            try
//            {
//                if (fOut != null)
//                {
//                    fOut.flush();
//                    fOut.close();
//                }
//            }
//            catch (IOException e)
//            {
//            }
//            session.setAttribute("state", "open");
//        }
//
//    }
//
//    @SuppressWarnings(
//    { "resource" })
//    @RequestMapping("/exportListData")
//    public void exportListData(HttpServletRequest request, HttpServletResponse response, String version)
//    {
//        HttpSession session = request.getSession();
//        session.setAttribute("state", null);
//        // 生成提示信息，
//        response.setContentType("application/vnd.ms-excel");
//        String codedFileName = null;
//        OutputStream fOut = null;
//
//        try
//        {
//
//            List<PlanTaskInfo> planVersion = service.getVersionPlan(version);
//            List<PlanTaskInfo> publishVersion = service.getPublishVersion(version);
//
//            String title = version + "版本计划";
//
//            // 进行转码，使其支持中文文件名
//            codedFileName = URLEncoder.encode(title, "UTF-8");
//            response.setHeader("content-disposition", "attachment;filename=" + codedFileName + ".xlsx");
//            // 产生工作簿对象
//            XSSFWorkbook workbook = new XSSFWorkbook();
//
//            XSSFCellStyle cellStyle = workbook.createCellStyle();
//            cellStyle.setWrapText(true);
//
//            //计划概要
//            XSSFSheet sheet0 = workbook.createSheet(title);
//            XSSFRow row = sheet0.createRow(0);// 创建一行
//            row.setRowStyle(cellStyle);
//
//            row.createCell(0, CellType.STRING).setCellValue("组别");
//            row.createCell(1, CellType.STRING).setCellValue("任务名称");
//            row.createCell(2, CellType.STRING).setCellValue("资源");
//            row.createCell(3, CellType.STRING).setCellValue("备注");
//            int i = 1;
//            for (PlanTaskInfo p : planVersion)
//            {
//                row = sheet0.createRow(i);// 创建一行
//                row.setRowStyle(cellStyle);
//                row.createCell(0, CellType.STRING).setCellValue(p.getGroupName());
//                row.createCell(1, CellType.STRING).setCellValue(p.getName());
//                row.createCell(2, CellType.STRING).setCellValue(p.getResourceName());
//                row.createCell(3, CellType.STRING).setCellValue(p.getNotes());
//                i++;
//            }
//
//            title = version + "实际版本";
//
//            XSSFSheet sheet1 = workbook.createSheet(title);
//            row = sheet1.createRow(0);// 创建一行
//            row.setRowStyle(cellStyle);
//
//            row.createCell(0, CellType.STRING).setCellValue("组别");
//            row.createCell(1, CellType.STRING).setCellValue("任务名称");
//            row.createCell(2, CellType.STRING).setCellValue("资源");
//            row.createCell(3, CellType.STRING).setCellValue("备注");
//            i = 1;
//            for (PlanTaskInfo p : publishVersion)
//            {
//                row = sheet1.createRow(i);// 创建一行
//                row.setRowStyle(cellStyle);
//                row.createCell(0, CellType.STRING).setCellValue(p.getGroupName());
//                row.createCell(1, CellType.STRING).setCellValue(p.getName());
//                row.createCell(2, CellType.STRING).setCellValue(p.getResourceName());
//                row.createCell(3, CellType.STRING).setCellValue(p.getNotes());
//                i++;
//            }
//            fOut = response.getOutputStream();
//            workbook.write(fOut);
//        }
//        catch (UnsupportedEncodingException e1)
//        {
//        }
//        catch (Exception e)
//        {
//        }
//        finally
//        {
//            try
//            {
//                if (fOut != null)
//                {
//                    fOut.flush();
//                    fOut.close();
//                }
//            }
//            catch (IOException e)
//            {
//            }
//            session.setAttribute("state", "open");
//        }
//
//    }
//
//}
